package com.lyf.scm.admin.api.dto;

import com.lyf.scm.common.enums.SalesPlanDirectlyEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * description:
 * 直营预测计划
 *
 * @author: haodong
 * @data: 2020/8/3 10:48
 */
@Data
@ApiModel("直营预测计划页面数据DTO")
public class SalesPlanDirectlyReturnDTO {

    @ApiModelProperty("渠道编码")
    private String channel;
    @ApiModelProperty("渠道名称")
    private String channelName;
    @ApiModelProperty("品类")
    private String category;
    @ApiModelProperty("区域")
    private String area;
    @ApiModelProperty("区域code")
    private String areaCode;
    @ApiModelProperty("商品sku")
    private String skuCode;
    @ApiModelProperty("商品name")
    private String skuName;
    @ApiModelProperty("门店code")
    private String storeCode;
    @ApiModelProperty("门店name")
    private String storeName;
    @ApiModelProperty("门店提交状态")
    private Integer storeStatus;

    @ApiModelProperty("确认状态--0:未确认；1：已确认")
    private List<BigDecimal> confirmType;
    @ApiModelProperty("系统预测量")
    private List<BigDecimal> forecastQty;
    @ApiModelProperty("上次预测量")
    private List<BigDecimal> lastForecastQty;
    @ApiModelProperty("预测浮动")
    private List<BigDecimal> forecastFlucteQty;
    @ApiModelProperty("预测浮动比例")
    private List<BigDecimal> forecastFlucteRateQty;
    @ApiModelProperty("确认量")
    private List<BigDecimal> confirmQty;
    @ApiModelProperty("确认目标")
    private List<BigDecimal> confirmTarget2;
    @ApiModelProperty("确认目标")
    private List<BigDecimal> confirmTarget3;
    @ApiModelProperty("确认目标")
    private List<BigDecimal> confirmTarget4;
    @ApiModelProperty("上次确认量")
    private List<BigDecimal> lastConfirmQty;
    @ApiModelProperty("下级确认量")
    private List<BigDecimal> subConfirmQty;
    @ApiModelProperty("预测确认差异")
    private List<BigDecimal> forecastDifferConfirmQty;
    @ApiModelProperty("预测确认差异比例")
    private List<BigDecimal> forecastRateConfirmQty;
    @ApiModelProperty("实际收货量")
    private List<BigDecimal> actualReceiptQty;
    @ApiModelProperty("当前实时库存量")
    private List<BigDecimal> realTimeInventoryQty;
    @ApiModelProperty("实际销量")
    private List<BigDecimal> actualSalesQty;

    @ApiModelProperty("系统预测指标名称")
    private String forecastLabel;
    @ApiModelProperty("上次预测量指标名称")
    private String lastForecastLabel;
    @ApiModelProperty("预测浮动指标名称")
    private String forecastFlucteLabel;
    @ApiModelProperty("预测浮动比例指标名称")
    private String forecastFlucteRateLabel;
    @ApiModelProperty("确认量指标名称")
    private String confirmLabel;
    @ApiModelProperty("确认目标指标名称")
    private String confirmTargetLabel2;
    @ApiModelProperty("确认目标指标名称")
    private String confirmTargetLabel3;
    @ApiModelProperty("确认目标指标名称")
    private String confirmTargetLabel4;
    @ApiModelProperty("上次确认量指标名称")
    private String lastConfirmLabel;
    @ApiModelProperty("下级确认量指标名称")
    private String subConfirmLabel;
    @ApiModelProperty("预测确认差异指标名称")
    private String forecastDifferConfirmLabel;
    @ApiModelProperty("实际收货量指标名称")
    private String actualReceiptLabel;
    @ApiModelProperty("预测确认差异比例指标名称")
    private String forecastRateConfirmLabel;
    @ApiModelProperty("当前实时库存指标名称")
    private String realTimeInventoryLabel;
    @ApiModelProperty("实际销量指标名称")
    private String actualSalesQtyLabel;

    public SalesPlanDirectlyReturnDTO() {
        this.forecastLabel = SalesPlanDirectlyEnum.FORECAST.getDesc();
        this.lastForecastLabel = SalesPlanDirectlyEnum.LAST_FORECAST.getDesc();
        this.forecastFlucteLabel = SalesPlanDirectlyEnum.FORECAST_FLUCTE.getDesc();
        this.forecastFlucteRateLabel = SalesPlanDirectlyEnum.FORECAST_FLUCTE_RATE.getDesc();
        this.confirmLabel = "本次确认数量";
        this.lastConfirmLabel = "上次确认数量";
        this.subConfirmLabel = "下级确认数量";
        this.confirmTargetLabel2 = SalesPlanDirectlyEnum.CONFIRM_TARGET2.getDesc();
        this.confirmTargetLabel3 = SalesPlanDirectlyEnum.CONFIRM_TARGET3.getDesc();
        this.confirmTargetLabel4 = SalesPlanDirectlyEnum.CONFIRM_TARGET4.getDesc();
        this.forecastDifferConfirmLabel = SalesPlanDirectlyEnum.FORECAST_DIFFER_CONFIRM.getDesc();
        this.forecastRateConfirmLabel = SalesPlanDirectlyEnum.FORECAST_RATE_CONFIRM.getDesc();
        this.actualSalesQtyLabel = SalesPlanDirectlyEnum.ACTUAL_SALES_QTY.getDesc();
    }
}
